草庐IT

TypeScript 基础类型

全部标签

javascript - 获取传入的 backbone.js 模型实例的模型类型

如何检索backbone.js模型实例的模型名称?例如:varTopic=Backbone.Model.extend({})vartopic=newTopic({type:'question'})vardoSomethingWithTopic=function(topic){//checkifpassedintopicisoftypeTopic//somethingliketopic.constructor.name==='Topic'}doSomethingWithTopic(topic)我意识到我可能模糊了backbone.js模型和类之间的界限,因此如果需要,我愿意采用其他方式来

javascript - 是否可以仅使用 JavaScript(客户端方法)在浏览器中针对可识别的 MIME 类型启动下载提示?

我想允许用户通过单击直接下载文件。然而,当涉及到已知的MIME类型(如HTML、音频、视频等)时会出现问题。理想情况下,我想触发音频/视频文件的下载提示。最后,我也想为HTML文档做这件事。主要想法是让用户可以轻松下载文件,而无需要求他们导航到上下文菜单。例如,我认为对于那些不太熟悉计算机及其主要功能的人来说。这些人肯定会更喜欢比“另存为”更好的方法。我寻找JavaScript解决方案的原因是PHP方法只有在网站上下文中才有效。每当您在插件或注入(inject)的脚本上下文中(即为Firefox、Chrome或Safari开发插件)时,您可能希望避免请求服务器端响应。我尝试使用wind

javascript - typescript ,静态方法继承

我正在使用typescript,我对类之间的静态继承有疑问任何人都可以向我解释以下结果:classFoo{protectedstaticbar:string[]=[];publicstaticaddBar(bar:string){this.bar.push(bar);}publicstaticlogBar(){console.log(this.bar);}}classSonextendsFoo{protectedstaticbar:string[]=[];}classDaughterextendsFoo{}Foo.addBar('Hello');Son.addBar('World');

javascript - JavaScript 关系比较运算符如何强制类型?

当操作数属于不同类型时,JavaScript关系比较运算符适用哪些规则?例如,true>null是如何求值的?我可以将其输入到我的开发人员控制台,它会给出结果true,但为什么呢?我搜索了一下,但没有找到任何解释这一点的博客文章,尽管有很多解释==和===比较运算符的类型强制转换。 最佳答案 JavaScript关系比较运算符类型强制在JavaScriptspecification中定义,特别是在11.8to11.8.5部分描述运算符和部分9.1(ToPrimitive)和9.3(ToNumber)其中描述了强制操作数的过程。简而言

javascript - TypeScript/JavaScript 中的 array.indexOf

这个问题在这里已经有了答案:indexOfmethodinanobjectarray?(29个答案)关闭6年前。更新:虽然这个问题被标记为与this重复.但是@ssube的方法很简洁,也更聪明。更新2:@Grungondola的评论中似乎有新的方法可以做到这一点。我正在使用Typescript。这很有效。vararray1=[];array1.push(5);array1.push(6);console.log("a",array2.indexOf(6));但这并不能很好地工作。因为array2.indexOf返回-1,这意味着它没有找到它。vararray2=[];array2.pu

javascript - 如何在 typescript 中包含原型(prototype)

我正在学习angular2,我已经为我想在我的一项服务中使用的chop方法编写了一个ts定义。chop.tsinterfaceString{truncate(max:number,decorator:string):string;}String.prototype.truncate=function(max,decorator){decorator=decorator||'...';return(this.length>max?this.substring(0,max)+decorator:this);};如何将其导入另一个typescript模块或至少使其可在全局范围内使用。

javascript - 如何在 TypeScript 2 中转换为数组?

我有一些代码将对象转换为数组类型(这样我就可以在对象上使用数组函数而不会出现编译错误)。varn=(result.data['value']as[]).map((a)=>{//..});但是在升级到ts2时,我得到:errorTS1122:Atupletypeelementlistcannotbeempty.这实际上是语法错误,声称您忘记了逗号或值。那么,我该如何修改此转换才能正常工作?我试过as[IMyType]并且它有效,但我不想指定类型,因为我在这里只需要array.prototype函数......还有,我不认为那是你实际这样做的方式。 最佳答案

javascript - 使用 JavaScript 的 FileReader 接口(interface)检测文件的内容类型

我一直在为Web应用程序中的纯文本文件设置导入脚本。我的脚本如下:functiondataImport(files){confirm("Areyousureyouwanttoimporttheselectedfile?Thiswilloverwriteanydatathatiscurrentlysavedintheapplicationworkspace.");for(i=0;i它本质上是对thisquestion上的修改.但是,目前用户在技术上可以尝试导入任何文件。由于它是为纯文本文件设计的,如果导入不同类型的文件,就会出现问题。我注意到在控制台中,浏览器检测到正在导入的文件的内容类

javascript - 未捕获的类型错误 : Property '$' of object [object DOMWindow] is not a function

我的脚本在Chrome中出现:UncaughtTypeError:Property'$'ofobject[objectDOMWindow]isnotafunction错误。functionshowSlidingDiv(){$("#slidingDiv").fadeToggle("slow","linear");}functionshowSlidingDiv2(){$("#slidingDiv2").fadeToggle("slow","linear");}functionshowSlidingDiv3(){$("#slidingDiv3").fadeToggle("slow","lin

javascript - Backbone.js - 未捕获的类型错误 : Object [object Object] has no method 'apply'

我是Backbone.js的新手。对于试验/初始开发,我将所有内容都放在标签的一页上,但我开始将代码分离到一个单独的.js文件中。在我这样做之后,我收到来自路由器的错误。未捕获的类型错误:对象[对象对象]没有方法“应用”这是我的路由器代码:varAppRouter=newBackbone.Router.extend({routes:{":uuid":"details"},details:function(uuid){//loaddetailsnewDetailView({id:uuid,el:$('#detailView')});}});varappRouter=newAppRoute